# 集合不支持重复元素,且无序

# 定义集合
my_set = {"传智教育", "黑马程序员", "itheima", "传智教育", "黑马程序员", "itheima", "传智教育", "黑马程序员", "itheima"}
my_set_empty = set()     # 定义空集合
print(f"my_set内容是：{my_set},类型是：{type(my_set)}")
print(f"my_set内容是：{my_set_empty},类型是：{type(my_set_empty)}")

# 集合无序 -> 不支持下标索引访问  允许修改

# 添加新元素
my_set.add("Python")
my_set.add("传智教育")      # 自动去重了
print(f"my_set添加元素后的结果是：{my_set}")

# 移除元素 remove
my_set.remove("黑马程序员")
print(f"my_set移除元素后的结果是：{my_set}")

# 随机取一个元素   pop():随机取出一个元素,同时删除集合中该元素，并返回
my_set = {"传智教育", "黑马程序员", "itheima"}
element = my_set.pop()
print(f"集合被取出元素是：{element},取出元素之后：{my_set}")

# 清空集合
my_set.clear()
print(f"集合被清空了,结果是：{my_set}")

# 取两个集合的差集    集合1.difference(集合2)  ==> 集合1有的集合2没有的
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set3 = set1.difference(set2)
print(f"取出差集后的结果是：{set3},")
print(f"取出差集后,原有set1内容是：{set1},")
print(f"取出差集后,原有set2内容是：{set2},")

# 消除差集    集合1.difference_update(集合2)  ==> 在集合1中删除集合1与集合2的差集
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set1.difference_update(set2)
print(f"消除差集后,集合1结果是：{set1}")
print(f"消除差集后,集合2结果是：{set2}")

# 两个集合合并为1个     集合1.union(集合2)    得到新集合  原集合不变
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set3 = set1.union(set2)
print(f"两集合并结果是：{set3}")    # 自动去除
print(f"合并后集合1：{set1}")
print(f"合并后集合2：{set2}")

# 统计集合元素数量
set1 = {1, 2, 3, 4, 5, 1, 2, 3, 4, 5}    # 去重之后再计数
num = len(set1)
print(f"集合内的元素数量有：{num}")

# 不可以用while循环遍历   可以用for循环
set1 = {1, 2, 3, 4, 5}
for element in set1:
    print(element)








